class Solution 
{
public:
    int minSubArrayLen(int target, vector<int>& nums) 
    {
        int ret=INT_MAX;
        int l=0,r=0;
        int sum=0;//窗口维护的是一个累加和
        for(int l=0,r=0;r<nums.size();r++)
        {
            //进窗口
            sum+=nums[r];
            while(sum>=target)
            {
                //不断跟新结果
                ret=min(ret,r-l+1);
                //出窗口
                sum-=nums[l++];
            }
        }
        return ret==INT_MAX?0:ret;
    }
};